\hypertarget{classmiddleware_1_1WorkerDiscoveryProxy}{
\section{middleware::WorkerDiscoveryProxy Class Reference}
\label{classmiddleware_1_1WorkerDiscoveryProxy}\index{middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}}
}


Interface to communicate to \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}.  




{\ttfamily \#include $<$worker\_\-discovery\_\-proxy.hpp$>$}

Inheritance diagram for middleware::WorkerDiscoveryProxy:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmiddleware_1_1WorkerDiscoveryProxy}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classmiddleware_1_1WorkerDiscoveryProxy_a10144b1483cf3b694020da4aa386d851}{$\sim$WorkerDiscoveryProxy} ()
\item 
\hyperlink{classmiddleware_1_1Address}{Address} \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy_a0648e9830702094a608917b01466bdb2}{get\_\-worker} (const \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor} \&taskdesc)  throw (ProxyException)
\item 
void \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy_a880a7c2f76337c0c2facb4ea0d37f297}{update\_\-worker} (const \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor} \&workerdesc)  throw (ProxyException)
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classmiddleware_1_1WorkerDiscoveryProxy_a49cb1e57087f4222bcf92ba2aa2e9340}{DiscoveryProxyFactory}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Interface to communicate to \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}. This class provides network and local interface to communicate to \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}. It is important to notice that constructor is private in order to let a factory perform instantiation. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classmiddleware_1_1WorkerDiscoveryProxy_a10144b1483cf3b694020da4aa386d851}{
\index{middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}!$\sim$WorkerDiscoveryProxy@{$\sim$WorkerDiscoveryProxy}}
\index{$\sim$WorkerDiscoveryProxy@{$\sim$WorkerDiscoveryProxy}!middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}}
\subsubsection[{$\sim$WorkerDiscoveryProxy}]{\setlength{\rightskip}{0pt plus 5cm}WorkerDiscoveryProxy::$\sim$WorkerDiscoveryProxy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classmiddleware_1_1WorkerDiscoveryProxy_a10144b1483cf3b694020da4aa386d851}
Destructor. 

\subsection{Member Function Documentation}
\hypertarget{classmiddleware_1_1WorkerDiscoveryProxy_a0648e9830702094a608917b01466bdb2}{
\index{middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}!get\_\-worker@{get\_\-worker}}
\index{get\_\-worker@{get\_\-worker}!middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}}
\subsubsection[{get\_\-worker}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Address} WorkerDiscoveryProxy::get\_\-worker (
\begin{DoxyParamCaption}
\item[{const {\bf TaskDescriptor} \&}]{ taskdesc}
\end{DoxyParamCaption}
)  throw ({\bf ProxyException})}}
\label{classmiddleware_1_1WorkerDiscoveryProxy_a0648e9830702094a608917b01466bdb2}
Used to query a manager for a \hyperlink{classmiddleware_1_1Worker}{Worker} to use to execute a task. 
\begin{DoxyParams}{Parameters}
{\em taskdesc} & \hyperlink{classmiddleware_1_1TaskDescriptor}{TaskDescriptor} provided to get the \hyperlink{classmiddleware_1_1Address}{Address} of the \hyperlink{classmiddleware_1_1Worker}{Worker} that best fits the execution of that task. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the \hyperlink{classmiddleware_1_1Address}{Address} of the \hyperlink{classmiddleware_1_1Worker}{Worker} chosen by the \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classmiddleware_1_1ProxyException}{ProxyException}} & Thrown when \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery} encouters a problem in obtaining information about all known Workers by the peer. \\
\hline
\end{DoxyExceptions}
\hypertarget{classmiddleware_1_1WorkerDiscoveryProxy_a880a7c2f76337c0c2facb4ea0d37f297}{
\index{middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}!update\_\-worker@{update\_\-worker}}
\index{update\_\-worker@{update\_\-worker}!middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}}
\subsubsection[{update\_\-worker}]{\setlength{\rightskip}{0pt plus 5cm}void WorkerDiscoveryProxy::update\_\-worker (
\begin{DoxyParamCaption}
\item[{const {\bf WorkerDescriptor} \&}]{ workerdesc}
\end{DoxyParamCaption}
)  throw ({\bf ProxyException})}}
\label{classmiddleware_1_1WorkerDiscoveryProxy_a880a7c2f76337c0c2facb4ea0d37f297}
This function is generally used by a \hyperlink{classmiddleware_1_1Worker}{Worker} to notify a \hyperlink{classmiddleware_1_1WorkerDiscovery}{WorkerDiscovery} that its status has changed. Thanks to this method, the \hyperlink{classmiddleware_1_1Worker}{Worker} can send its new status inside its descriptor. 
\begin{DoxyParams}{Parameters}
{\em workerdesc} & \hyperlink{classmiddleware_1_1WorkerDescriptor}{WorkerDescriptor} to send containing new information and staatus of the \hyperlink{classmiddleware_1_1Worker}{Worker}. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classmiddleware_1_1ProxyException}{ProxyException}} & Thrown when a network problem occurs during sending. \\
\hline
\end{DoxyExceptions}


\subsection{Friends And Related Function Documentation}
\hypertarget{classmiddleware_1_1WorkerDiscoveryProxy_a49cb1e57087f4222bcf92ba2aa2e9340}{
\index{middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}!DiscoveryProxyFactory@{DiscoveryProxyFactory}}
\index{DiscoveryProxyFactory@{DiscoveryProxyFactory}!middleware::WorkerDiscoveryProxy@{middleware::WorkerDiscoveryProxy}}
\subsubsection[{DiscoveryProxyFactory}]{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf DiscoveryProxyFactory}\hspace{0.3cm}{\ttfamily  \mbox{[}friend\mbox{]}}}}
\label{classmiddleware_1_1WorkerDiscoveryProxy_a49cb1e57087f4222bcf92ba2aa2e9340}
To let factory build properly this object, we provide access to every part of it. 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
worker\_\-discovery\_\-proxy.hpp\item 
worker\_\-discovery\_\-proxy.cpp\end{DoxyCompactItemize}
